package main

import (
	"log"
	"todo-list/config"
	"todo-list/handlers"
	"todo-list/middleware"
	"todo-list/models"

	"github.com/gin-gonic/gin"
)

func main() {
	// 初始化数据库连接
	config.InitDB()

	// 自动迁移数据库表
	if err := models.AutoMigrate(config.DB); err != nil {
		log.Fatalf("Failed to migrate database: %v", err)
	}

	// 创建 Gin 路由
	r := gin.Default()

	// 使用 CORS 中间件
	r.Use(middleware.Cors())

	// 注册路由
	api := r.Group("/api/todo")
	{
		api.GET("/all", handlers.GetAllTodos)
		api.POST("/add", handlers.AddTodo)
		api.POST("/update", handlers.UpdateTodo)
		api.POST("/del", handlers.DeleteTodo)
	}

	// 启动服务器
	if err := r.Run(":8080"); err != nil {
		log.Fatalf("Failed to start server: %v", err)
	}
}
